package com.pig4cloud.pig.module.service.electric;

import com.pig4cloud.pig.common.mybatis.core.BaseService;
import com.pig4cloud.pig.module.api.entity.electric.ElectricMeter;

import java.util.List;
import java.util.Map;

/**
 * 水电Service接口
 *
 * @author ruoyi
 * @date 2022-09-01
 */
public interface IElectricMeterService extends BaseService<ElectricMeter> {

	/**
	 *  回调处理
	 * @param responseContent
	 */
	void notifyOp(String responseContent, List<Map<String, Object>> responseContentList);

	/**
	 *  抄表
	 *  3:正向有功总电能 4:反向有功总电能 5:正向无功总电能  6:反向无功总电能
	 *  22:剩余金额 27:A相电流  30:A相电压
	 *  33:瞬时有功功率 34:瞬时无功功率 35:读取费率电价 38:读取一级报警金额 39:读取二级报警金额
	 *  40:读取电流互感器变比 106:查询继电器状态
	 * @return
	 */
	String getSearchData(ElectricMeter meter, int type);

	/**
	 * 电表清零_同步模式
	 */
	int clearElectric(ElectricMeter meter);

	/**
	 * 电表清零_非同步模式
	 */
	int clearElectricAsync(ElectricMeter meter);

	/**
	 * 开户 同步模式
	 * @param meter
	 * @param initMoney   开户初始金额
	 * @return
	 */
	int openAccount(ElectricMeter meter, Double initMoney);

	/**
	 *  电表合闸
	 */
	int openElectric(ElectricMeter meter);

	/**
	 *  电表拉闸
	 */
	int closeElectric(ElectricMeter meter);

	/**
	 * 电表充值_同步模式
	 */
	int rechargeElectric(ElectricMeter meter,int orderId, Double initMoney);

	/**
	 * 电表充值_非同步模式
	 */
	int rechargeElectricAsync(ElectricMeter meter, int orderId, Double payMoney);

	/**
	 *  设置电表参数
	 *  type 操作类型
	 *  12:设置费率电价
	 *  23:设置电流互感器变比
	 *  24:设置一级报警金额
	 *  25:设置二级报警金额
	 */
	int setElectric(ElectricMeter meter,int type, Double value);
}
